Management tracking identifier format, processing, and data associations

ABSTRACT

A computing device obtains a machine-readable code encoding a group identifier, and decodes the group identifier to identify each unit identifier of each of a plurality of tracking units. Decoding includes identifying a first portion of the group identifier that identifies a first unit identifier of a first unit, and identifying a second portion of the group identifier comprising a multiplier identifying a number of the plurality of tracking units that are within the grouping. The computing device sends a request to a management service for a first user to obtain custody of the plurality of tracking units. The management service reassigns custody of the plurality of tracking units from a second user to the first user, without obtaining input from the second user. Another computing device associated with the second user updates a displayed status to indicate that the first user now has custody of the particular tracking unit.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/270,539, which was filed May 6, 2014, and which is entitled,“MANAGEMENT TRACKING IDENTIFIER FORMAT, PROCESSING, AND DATAASSOCIATIONS,” which application claims priority to, and the benefit of,U.S. Provisional Application No. 61/819,725, which was filed May 6,2013, and which is entitled “SECURITY SEAL TRACKING AND MANAGEMENT” andU.S. Provisional Application No. 61/936,262, which was filed Feb. 5,2014, and which is entitled “ASSET TRACKING AND MANAGEMENT.” The entirecontents of each of the foregoing applications are expresslyincorporated by reference herein in their entireties.

FIELD OF ART

The disclosure relates to the field of asset tracking and management,and more particularly to asset tracking using a harmonizing code that isassociated with an asset directly, or with a tracking unit that isattached to the asset.

BACKGROUND

In many industries, it is desirable to provide seals for articles (e.g.,containers, utility boxes, valves, etc.) to ensure that the articlesremain closed, un-tampered with, or otherwise secured. Generally, a sealis configured to provide an indication of when an article to which theseal has been applied has been subsequently opened, used, or altered.For example, when an article that has been sealed, it may be necessaryto break the seal in order to open or access the article. Thus, a brokenseal on an article may indicate that the article has been tampered with,that the article has been used without authorization, or that thecontents of the article have been tampered with.

In one example, utility companies (e.g., oil and gas, electricity)commonly employ seals to protect their assets. For example, a workerinstalling an asset (e.g., meter, junction, transformer, etc.) may alsoinstall a seal on the asset. The seal helps the utility company detectif the asset has been opened subsequent to its initial installation. Abroken seal may indicate that the asset has been tampered with in somemanner, such as to alter a meter reading, or to otherwise steal utilityproducts or services.

SUMMARY

At least some embodiments described herein relate to methods, computersystems, and computer program products for asset tracking andmanagement. Embodiments herein enable the tracking and management ofindividual assets as they pass from user-to-user, through tracking oneor more unique identifiers (or “harmonizing codes”) that are associatedwith the asset throughout the asset's lifecycle. Asset tracking can beenabled through use of tracking units (e.g., security seals, securitytags, etc.) that are each assigned a unique identifier and that areassociated with individual assets. In some embodiments, individualassets are also assigned their own unique identifiers. Tracking caninclude tracking people who have interacted with the asset, tracking thephysical location of the asset, tracking usage history of the asset,etc. Management can include managing installation/deployment of theasset, managing maintenance/repair of the asset, managing retirement ofthe asset, etc.

One example embodiment includes a computer system including an end-userdevice and a server. The end-user device is configured to obtain aplurality of data items from a user in connection with application of atracking unit to an asset. The plurality of data items include a useridentifier of the user who applied the tracking unit to the asset, acorresponding tracking unit identifier for the tracking unit, and anasset identifier for the asset. The end-user device sends the pluralityof data items to the server computer system. Upon receipt of the dataitems, the server verifies that the tracking unit identifier is a validtracking unit identifier, that the tracking unit identifier has anavailable status, and that the tracking unit identifier is assigned tothe user. When the tracking unit identifier is verified as being valid,available, and assigned to the user, the server associates the trackingunit identifier with the asset identifier and the user identifier, andmarks the tracking unit identifier as having an applied status.

Another example embodiment includes generation of an identificationcode. A computer system generates a group code that specifies a unitidentifier and at least one multiplier specifying a number of units thatare in the group. Then upon receiving confirmation that the group codewas properly generated and applied to the container, the computer systemgenerates a plurality of unit identifiers for the group.

Yet another example embodiment includes tracking chain of custody. Aserver computer system receives a request to take custody of a trackingidentifier. The request specifies the tracking identifier and a useridentifier of a user who is to take custody of the tracking identifier.The server computer system identifies a custody record of the trackingidentifier. The custody record specifies a previous chain of custody forthe tracking identifier. The previous chain of custody indicates thatanother user already has custody of the tracking identifier. The custodyrecord is updated to indicate that the received user identifier now hascustody of the tracking identifier, while preserving the previous chainof custody of tracking identifier.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 illustrates an example computer architecture that facilitatesasset tracking and management.

FIGS. 2A-2D illustrate an example process flow for code generation andseal/asset lifecycle management.

FIG. 3 illustrates some example states or statuses that may be appliedto a group or unit identifier.

FIG. 4 illustrates a flowchart that may be used in connection withapplication of a tracking unit to an asset.

FIGS. 5A-5F illustrate some example mobile interfaces.

FIGS. 6A-6D illustrate some example web interfaces.

FIG. 7 illustrates a flow chart of an example method for tracking unitmanagement and asset assignment.

FIG. 8 illustrates a flow chart of an example method for generating anidentification code.

FIG. 9 illustrates a flow chart of an example method for managing atracking unit.

FIG. 10 illustrates a flow chart of an example method for tracking chainof custody.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

At least some embodiments described herein relate to methods, computersystems, and computer program products for asset tracking andmanagement. Embodiments herein enable the tracking and management ofindividual assets as they pass from user-to-user, through tracking oneor more unique identifiers (or “harmonizing codes”) that are associatedwith the asset throughout the asset's lifecycle. Asset tracking can beenabled through use of tracking units (e.g., security seals, securitytags, etc.) that are each assigned a unique identifier and that areassociated with individual assets. In some embodiments, individualassets are also assigned their own unique identifiers. Embodimentsinclude grouping identification codes (and, by extension, theirassociated tracking units or assets) into uniquely-trackable groups,such as pallets, boxes, bags, batches, etc. Tracking can includetracking people who have interacted with the asset, tracking thephysical location of the asset, tracking usage history of the asset,etc. Management can include managing installation/deployment of theasset, managing maintenance/repair of the asset, managing retirement ofthe asset, etc.

For example, embodiments herein include the secure generation of uniqueidentification codes that can be used to track physical items at anindividual level. Such identification codes may be associated withindividual physical assets themselves, and/or with tracking units (e.g.,seals, security tags, etc.) that can be applied to physical assets.These embodiments may include a cloud-based platform for managingidentification codes, and for updating and tracking the status of anassociated asset and/or tracking unit through its entire lifecycle.

Some embodiments relate to the grouping of identification codes (and, byextension, their the associated asset or tracking units) intouniquely-trackable groups, such as into pallets, boxes, bags, batches,etc.

Some embodiments relate to the use of identification codes and groupingsof identification codes to manage assignment of tracking units andassets to users, and to track tracking unit and asset custody.

In some embodiments, a unique identifier (whether it is placed on anasset directly or whether it is placed on a tracking unit) serves as a“harmonizing code.” The harmonizing code generally stays with the assetor the tracking unit throughout the asset's/unit's lifecycle, and can beused to track the asset/unit through its lifecycle. A single asset maybe associated with more than one harmonizing code (e.g., identifierplaced on the asset directly, and an identifier placed on a trackingunit associated with the asset).

For example, tracking a tracking unit may begin when it is created by amanufacturer, and continue as it is transported (e.g., to awarehouse/business), as it is handled by workers, and as it is installedon an asset. Then, the tracking unit can be used to track the asset asthe asset is maintained, monitored, retired, etc. The asset may also beassociated with its own a unique identifier when it is created by amanufacturer, and that unique identifier may be used to track the assetthroughout the asset's lifecycle. For example, identifiers may beprinted, etched, molded, or otherwise placed on an asset. In addition,the unique identifier of the asset may later be associated with a uniqueidentifier of one or more tracking units.

One will appreciate that the identifiers and tracking units describedherein can be applied to a nearly infinite variety of assets. Forexample, they may be applied to office equipment (e.g., computers,monitors, etc.), to utility equipment (e.g., meters, transformers,etc.), to automotive equipment (e.g., car parts), to tools, etc.

This description will commence with a preliminary discussion of uniqueidentifiers. This description will then proceed with a discussion oftracking units, and then continue with example computer architectures,user interfaces, and methodologies.

Identifiers

Identifiers may take any appropriate form, such as a numeric,alphanumeric, or other character sequence. An identifier may be visuallypresented on an asset or tracking unit in a human-readable form and/or amachine-readable form (e.g., a 2D or 3D barcode). An identifier mayadditionally or alternatively be presented in a matter that enables itto be read electronically, such as through use of a magnetic strip, aRFID tag, etc. In some embodiments, identifiers are applied to assetsand tracking units in a tamper-resistant manner, such as through the useof laser etching, thermal transfer, holograms, etc.

In some embodiments, identifiers are visually presented as ahuman-readable identifier and/or a machine-readable identifier. Forexample, an identifier may be readable by a human user through anidentification string (e.g., numeric, alphanumeric, symbols, etc.), andby a computer through a machine-readable code, such as a barcode, QRcode etc. The machine-readable code may be an encoding of thehuman-readable identification string, or may be an encoding of separatedata that is associated with the human-readable identification string.

In some embodiments, identifiers are protected cryptographically.Encrypted identifiers are usable to prevent unauthorized reading ofidentifiers, unauthorized duplication of identifiers, and/orunauthorized creation of new identifiers for use for fraudulentpurposes. For example, an encrypted identifier may be one that isresistant to being read by an unauthorized third party. A read-resistantidentifier may be presented in an encrypted form (e.g., by beingencrypted using public key, symmetric, asymmetric, etc. encoding), sothat the actual identifier or code cannot be deciphered without theproper encryption key(s) and cryptographic algorithms. Such an encryptedidentifier may comprise an encrypted textual code (e.g., usingcombinations of numbers, letters, and/or symbols), an encrypted linearbarcode, an encrypted 2D/matrix barcode (e.g., QR code, Aztec code), anencrypted 3D barcode, etc.

In another example, an encrypted identifier may be one that is resistantto being generated by an unauthorized third party. Ageneration-resistant identifier may be generated using a cryptographicalgorithm, so that valid identifiers cannot be generated without accessto the applicable cryptographic algorithms and/or encryptionkeys(s)—thus making it difficult for a third party to generate valididentifiers.

Combinations are also possible. For example, an identifier may begenerated using a cryptographic algorithm, and then the generatedidentifier may be further encrypted (thus making it difficult for athird party to read the actual identifier)—thereby providing multiplelayers of cryptographic protection.

In some embodiments, identifiers are generated as part of groupings. Forexample, identifiers may be generated so that associated assets ortracking units are logically grouped into boxes (e.g. 1000 units) thatinclude bags (e.g., 100 units). Other groupings are also possible. Forexample, boxes may be grouped into pallets, and/or each bag may includetrays or batches (e.g., 10 units). These groupings can be used to assignunits to different parties (e.g., factories, warehouses, companies, andworkers), and to enable tracking of unit custody (e.g., workers whohandled an asset, a seal, or a security tag).

In some embodiments, assets or tracking units may incorporate one ormore electronic transmitters or transponders, which transmit a signalthat can be tracked via land-based receivers (e.g., cellular towers),aircraft, or even satellites (e.g., using the Global Positioning System(GPS) satellites, Iridium satellites, Galileo satellites, etc.). Thus,the position of assets or tracking units can be continuously tracked.Such embodiments may be of particular usefulness in the context of thetransportation and shipping industries, since a container can be trackedafter it is packaged to further verify that it remains free of tamperingand to mitigate against the loss of containers.

Tracking Units

A tracking unit can comprise any device that is associated with a uniqueidentifier, and that can be affixed to an asset. For example, trackingunits can include seals and security tags.

As used herein, a seal is any physical device that includes a uniqueidentifier (in human and/or machine-readable form), that can be securelyplaced on an asset, and that provides an indication that an article towhich the seal has been applied has not been used or altered in a mannerthat is detectable through use of the seal. For example, a seal mayinclude tape, wire, plastic, etc. that can be applied to an article in amanner, such that removal of the seal would alter the seal in anidentifiable way. Thus, seals can comprise any device for securing thearticle to which the seal is attached, and may be constructed from anyappropriate material (e.g., wire, tape, plastic, metal, paper,electronic circuitry, etc.). Examples of seals that may be used inconnection with embodiments of the present invention can be found in oneor more of the following United States Patent Applications, where arecommonly owned by Applicant: U.S. Ser. No. 09/059,360, filed Apr. 14,1998; U.S. 61/219,548, filed Jun. 23, 2009; U.S. Ser. No. 13/191,513,filed Jul. 27, 2011; U.S. 61/823,124, filed May 14, 2013; and U.S.61/936,257, filed Feb. 5, 2014. The entire contents of each of theseapplications are expressly incorporated by reference herein in theirentirety.

As used herein, a security tag is any other physical device can beaffixed to an asset, but which may lack some of the security features ofa seal. For example, a security tag may take the form of an adhesivesticker that includes the unique identifier (in human and/ormachine-readable form) and that can be placed on an asset. In someembodiments, security tags may still be tamper and/orduplication-resistant, such as through the use of holograms, encryption,removal-resistance, or any other appropriate security measure.

Seals and/or security tags may comprise a “seal of authenticity” thatcan be used to ensure that an asset comes from an authorized source. Insome embodiments, security tags are used when a lower level of securityis needed with respect to protecting an asset, direct application of acode to an asset is used when a medium level of security is needed withrespect to protecting an asset, and a seal is used when a higher levelof security is needed with respect to protecting an asset.

For simplicity, some of the remaining disclosure is provided in thecontext of seals specifically. One of ordinary skill in the art willrecognize, however, such references to seals may generally be applied toother tracking units (e.g., security tags) and/or assets as well.

Computer Architecture

FIG. 1 illustrates an example computer architecture 100 that facilitatessecurity asset tracking and management using identification codes (e.g.,through use of tracking units and/or direct application of identifiersto assets). Referring to FIG. 1, the computer architecture 100 includesone or more end-user devices 101 and a management service 102 that areconnected to one another over (or is part of) a network 103, such as,for example, a Local Area Network (“LAN”), a Wide Area Network (“WAN”),and even the Internet. Accordingly, the end-user devices 101 and themanagement service 102 can create message related data and exchangemessage related data (e.g., Internet Protocol (“IP”) datagrams and otherhigher layer protocols that utilize IP datagrams, such as, TransmissionControl Protocol (“TCP”), Hypertext Transfer Protocol (“HTTP”), SimpleMail Transfer Protocol (“SMTP”), etc.) over the network. In someembodiments, the network 103 can comprise a cellular network. In theseembodiments, the end-user devices 101 may comprise a device having acellular radio, such as a mobile telephone.

In some embodiments, the management service 102 is a web or cloud-basedservice that maintains a data store that includes information aboutidentifiers, tracking units, and assets that are managed using thecomputer architecture 100. For example, the management service 102 caninclude one or more databases that store data about assets, trackingunits, users, mobile devices, work requests, etc. The management service102 can also offer one or more application programming interfaces (APIs)or web-based user interfaces for accessing functionality to generateidentification codes, for managing assets, for managing tracking units,for managing users, for managing mobile devices, for processing workrequests, etc. The management service 102 can also offer APIs forproviding statistical data and analytics about any of the foregoing.

The end-user device(s) 101 are configured to interface with themanagement service 102 for generating identification codes, for updatingthe status of identification codes, for associating an identificationcode with an asset or a tracking unit, etc. For example, one or morefactory end-user devices 101 a may interface with the management service102 during the code generation and tracking unit or asset creationprocess. In another example, one or more warehouse end-user devices 101b may interface with the management service 102 as tracking units orassets are shipped to consumer companies. In yet another example, one ormore company end-user devices 101 c may interface with the managementservice 102 as tracking units or assets are distributed within a companyand to workers, and one or more worker end-user devices 101 d mayinterface with the management service 102 as tracking units aredistributed among workers and applied to assets.

In one example of an end-user device 101, a worker end-user device 101 dmay be used by an end-user in the field (e.g., a worker installing orreading a utility box) to apply tracking units to assets and to tracktracking units and assets. In some embodiments, the worker end-userdevice 101 d comprises a smartphone, a PDA, or other mobile device thatis configured with appropriate software in the form ofcomputer-executable instructions. Generally, the worker end-user device101 d is configured to receive one or more inputs through human userinput (e.g., at a physical or virtual keyboard) or through machinescanning (e.g., using a camera to scan a barcode, using near-fieldcommunications to scan a RFID tag, etc.). Examples of information thatcan be gathered by the worker end-user device 101 d include one or moreof a user identity of a person using the mobile device, a tracking unitidentifier, a work order identifier, an asset identifier, or one or morephotos (e.g., of the tracking unit, the work order, or the asset).

The worker end-user device 101 d is also configured to send informationto and receive information from the management service 102 over thenetwork 103. Such information may include any information gathered bythe worker end-user device 101 d about a tracking unit or asset. Forexample, the worker end-user device 101 d may create a record having aplurality of data fields for an asset and/or for a tracking unit, andupload the record to the management service 102. In another example, theworker end-user device 101 d may download record information from themanagement service 102 (or have record information pushed to it) so thata user of the worker end-user device 101 d can maintain an asset, orcheck the status of an asset or tracking unit. Other information thatcan be communicated over the network 103 may include work requestinformation. For example, the worker end-user device 101 d may receiveone or more work requests (e.g., work order, air waybill) from themanagement service 102 (either through a download or a push) forcompletion by a user of the worker end-user device 101 d.

The computer architecture 100 can enable, for example, the use of amobile device, such as a smartphone or PDA, to create one or morerecords at the management service 102 of application of tracking unitsto assets at the time that work is performed with respect to the assets.The management service 102 can document the history of the trackingunits, along with any information pertinent to that history. Forexample, the management service 102 may document the identity of theperson that applied the tracking unit to an asset, may document a visualconfirmation that the tracking unit was applied to the asset (e.g., aphotograph of the seal on the asset), may document identity informationfor the asset, a work order (or similar instrument, such as an airwaybill), may document a geo-location where the tracking unit wasapplied, may document any user comments from the person applying thetracking unit, etc. The management service 102 can update such recordsduring the lifetime of the tracking unit and/or the asset to reflectchanges in status of the tracking unit and/or the asset.

APPLICABILITY

The computer architecture 100 and use of identification codes (e.g.,through tracking units or direct code application) can providecentralized (and potentially near real-time) asset tracking andmanagement, along with a documented chain of custody of assets andtracking units. The computer architecture 100 and use of identificationcodes herein can also provide for enhanced human-resource management,including tracking work performed, requiring work sign-off, enabling theassignment of and dissemination of work assignments, tracking potentialwork that needs to be performed, etc.

The computer architecture 100 and use of identification codes herein canalso enable the tracking of the status of individual tracking unit andpotentially groups of tracking units (e.g., boxes, bags). Tracking unitstatus may include an application status of the tracking unit, such aswhether the tracking unit has been applied to an asset (along with theidentity of the asset, when applied). Tracking unit status may alsoinclude whether the tracking unit has been lost, or whether the trackingunit is damaged/defective. Tracking unit status may also include theidentity the person(s) who is/are or was/were responsible for thetracking unit. Tracking unit status may also include geo-locationinformation, such as one or more previously known geo-location(s) of thetracking unit. Tracking unit status may include any other appropriateinformation, such as the date/time that particular events with respectto the tracking unit occurred.

The computer architecture 100 and use of identification codes herein canalso enable the tracking of the status of any assets to which anidentification is associated. Asset status may include the last knownphysical status of the asset, such as whether the asset has been sealed,tampered with, damaged, etc. Asset status may also include a history ofwork performed with respect the asset, the contents of the asset (if theasset is a container), the identity of one or more persons who haveinteracted with the asset, etc. Asset status may also includegeo-location information for the asset (e.g., by virtue of the locationof an associated seal). Asset status may include any other appropriateinformation, such as the date/time that particular events with respectto the asset occurred, whether the asset is lost, etc.

The computer architecture 100 and use of identification codes hereinalso enable user management and user accountability. For example, thecomputer architecture 100 and use of identification codes herein canenable the tracking of persons who apply identification codes to assets,as well as the tracking of persons who have observed, worked on, orotherwise interacted with an asset. The computer architecture 100 anduse of identification codes enable the creation of personal work“signatures,” which enable persons to certify that they have completedwork with respect to an asset (e.g., according to a work order or an airwaybill) and have applied an identification code to the asset aftercompleting the work. For example, a signature may include documentationthat tracking unit was properly applied, documentation of the asset thatwas interacted with, documentation of a work order that was completed,etc. The computer architecture 100 may include users having differentroles, such as administrators, workers (end-users), etc.

The computer architecture 100 and use of identification codes herein maybe applicable to a variety of industries. For example, the computerarchitecture 100 and use of identification codes may be usable byutility companies, such as oil and gas, electricity, telecommunications,television and Internet, etc. When used by utility companies, suchembodiments may be used to track completion of work orders by workers,to track the sealing of a utility asset to prevent tampering and theft,to associate different seals/assets with different workers, etc. Autility company may use computer architecture 100 to track theinstallation and maintenance of meters, junction boxes, transformers,etc.

In another example, the embodiments herein may be usable by thetransportation and shipping industries. When used by transportation andshipping companies, such embodiments may be used to in connection withfulfilling/completing an air waybill. For example, a worker may use anend-user device 101 to document packaging of items in a container, andthe sealing of the container in connection with an air waybill. Furthertracking of an identification code can verify whether the container hasbeen tampered with in transit, and to verify the contents of thecontainer.

In one use for the transportation and shipping industries, theembodiments herein may be used in connection with green zones andcustoms. For example, a worker may use an end-user device 101 to verifypackaging and sealing of items in a container in connection with an airwaybill. As part of the documentation process, the end-user device 101can record the geo-location of the packaging/sealing. If thatgeo-location is within a green zone (i.e., a known secured area) thensuch information can be recorded in connection with the seal. Later,when a recipient of the container or a customs agency scans anidentifier, they can have knowledge that the associated container waspackaged/sealed in a green zone. In the case of a customs agency, thecustoms agency may apply a lower level of scrutiny to the container,provided the seal is still intact, than if the container was notpackaged/sealed in a green zone.

A more particular discussion of applicability and use of the computerarchitecture 100 and use of identification codes is now presented. Oneof skill in the art will recognize, in view of the disclosure herein,that these examples are for illustrative purposes only, and otherapplications and uses are possible.

Association of Identification Code with Asset. In one example, thecomputer architecture 100 may be usable to set up an initial record ofapplication of an identification code to an asset. For example, a workermay complete a work request (e.g., according to a work order, an airwaybill, etc.) relative to an asset, and apply a tracking unit to theasset upon completion of the work. If a seal is used, the seal can beused to prevent tampering with the asset. The worker can use an end-userdevice 101 to document completion of the work request, includingdocumenting one or more of the identity of the tracking unit used, theidentity of the asset, and the identity of the work request, photos ofany of the foregoing, a geo-location of the end-user device 101, etc.Documenting the identity of any of the foregoing items may comprise amachine-readable scan (e.g., barcode, RFID tag) one or more of theforgoing items, or a manual entry of any applicable identifiers.

The end-user device 101 can then send one or more data fields to themanagement service 102, including one or more of the identity of thetracking unit, the identity of the asset, the identity of the workrequest, etc. Other data may include the identity of the worker, aworker “signature” verifying that the work was performed properly,verification that the asset has passed a particular test, a geo-locationof where the work was performed, a date/time stamp, one or more photos(e.g., of the seal, of the asset, of the work order, of the seal on theasset), etc. Such data can be stored at the management service 102 forlater access, either through mobile devices or web interfaces.

Status Check. In another example, a worker may use the computerarchitecture 100 to verify the current status of an asset and/or atracking unit. For example, a worker may use end-user device 101 to scan(or manually enter) a tracking unit identifier (if a seal/security tagis applied to the asset) and/or an asset identifier (if anidentification code was directly applied to the asset). Using theseidentifier(s), the end-user device 101 can query the management service102 or otherwise receive one or more applicable “custody records” forthe seal/tag and/or the asset delivered to the end-user device 101.

Based on the received custody record(s), the end-user device 101 canindicate to the worker the status of the tracking unit and/or the asset.For example, the end-user device 101 can indicate if the identifiedtracking unit has been previously reported as missing or damaged,whether the correct tracking unit is currently applied to the asset, anyrelevant history information for the seal/asset, etc. If an incorrecttracking unit is applied to the asset (e.g., a tracking unit that waspreviously reported as missing/damaged), or if no tracking unit isapplied to the asset, the worker can use the end-user device 101 to markthe tracking unit or asset as being potentially tampered with (e.g., afraud status). In addition, the worker may apply a new seal to the assetto preserve the asset in its potentially tampered state until furtherwork or an investigation can be performed on the asset, and documentapplication of the replacement seal using the end-user device 101.

The end-user device 101 can send any appropriate information to themanagement service 102 relative to status checks. For example, theend-user device 101 may send a date/time of the status check, a workerperforming the status check, a geo-location of the status check, areplacement tracking unit that was applied to the asset (along withphotos or any other relevant information), etc. The management service102 can then update its records as needed, and flag assets foradditional work, if needed (e.g., such as to flag an asset as needingrepair or replacement since it is a potentially tampered-with asset).

Asset Maintenance. In yet another example, a worker may use the computerarchitecture 100 as part of maintenance of an asset. For example, aworker may use an end-user device 101 to scan (or manually enter) atracking unit identifier and/or an asset identifier associated with anasset on which the worker is performing maintenance. Using the trackingunit and/or asset identifier(s), the end-user device 101 can query themanagement service 102 or otherwise receive one or more applicablecustody records for the tracking unit and/or the asset. The worker canthen perform the maintenance, apply a new seal to the asset to preventtampering, and document application of the new seal using the end-userdevice 101. The end-user device 101 may present the worker with anyappropriate status change option, such as a tracking unit replacementoption, etc. The end-user device 101 may present the worker with anyappropriate maintenance options, such as calibration, repair, etc.

The end-user device 101 can send any appropriate information to themanagement service 102 relative to asset maintenance. For example, theend-user device 101 may send a date/time of the maintenance, a workerperforming the maintenance, a geo-location of the maintenance, the newtracking unit that was applied to the asset (along with photos or anyother relevant information), etc. The management service 102 can thenupdate its records as needed.

Human Resource Management. In yet another example, a user may use thecomputer architecture 100 as part of human resource management. Forexample, the management service 102 may send one or more work requests(e.g., work order, air waybill) to a worker for performance of a taskwith respect to an asset. For example, a work request may direct aworker to install an asset, to package and seal a container, to performmaintenance on an asset, etc. In some embodiments, the managementservice 102 may send work requests to workers based on a currentgeo-location of the worker. For example, if a worker is in a locationthat has one or more assets that have been flagged as being potentiallytampered with, the management service 102 may send work requests to theworker that instruct the worker to perform maintenance on the assets.

Vertical Integration. The seals and computer architecture 100 can bevertically integrated throughout an organization, to provide anend-to-end asset management solution. For example, vertical integrationcan include using identifiers to centrally track individual assets frommanufacturing, through inventory/warehouse operations, to deployment tothe field. Throughout the process, the seals can be used by businessoperations to manage various aspects of the assets, such as maintenanceand/or repair of the asset, management of personnel that interact withthe asset, retirement of the asset, etc.

For example, a unique identifier may be applied to an asset when theasset is produced (e.g., by applying an identifier during manufacturing)or processed as a new asset (e.g., by personnel applying a trackingunit). That identifier may stay with the asset during the entirelifecycle of the asset at the organization. As such, a chain of custody(i.e., who has interacted with/possessed the asset) can be maintainedthrough tracking of the identifier as the asset is used and movedthroughout the organization. In addition, the asset can be furthertracked/managed by business operations personnel, such as to manageupdates, maintenance, repair, retirement, personnel, etc. as they relateto the asset. Throughout the process a seal can help prevent tamperingwith and theft of the asset.

By applying identifiers to individual assets, a vertically-integratedorganization can identify and track its assets or inventory items on aper-unit basis, potentially in real-time. Thus, an organization isenabled to track individual assets as those assets move throughout theorganization, such from purchase or manufacture of the asset, throughassignment of the asset to organization personnel, to deployment of theasset in the field, and retirement of the asset. In addition, theorganization can, at any time, be enabled to identify a last-knowngeographical location of the asset and the personnel who have possessedor interacted with the asset.

In addition, when a unique tamper-resistant seal is applied to an asset,the seal acts to prevent the asset from being stolen or tampered with.By tracking the seal as the asset passes from person-to-person in avertically-integrated organization, the seal acts to form a chain ofcustody of the asset. As such, if an asset goes missing or has beentampered with, the organization knows who last interacted with orpossessed the asset. Furthermore, use of an encrypted seal can preventunauthorized parties from obtaining seal information about an asset, andcan prevent parties from duplicating or otherwise forging seals or tags.

The computer architecture 100 and use of identification codes herein canbe used by a vertically-integrated organization to track detailedinformation about the lifecycle of individual assets to whichidentifiers are assigned (either directly or through use of a trackingunit). For example, a centrally-managed database (e.g., managementservice 102) may track maintenance history, maintenance schedules,repair history, update history, update schedules, and the like. As such,the computer architecture 100 and use of identification codes describedherein can provide real-time status for assets that can be used tomanage the maintenance, repair, and replacement of individual assets.

Tracking individual assets through unique identifiers can facilitatehuman resource management and labor assignments in avertically-integrated organization. For example, many assets may requireoccasional check-ups, maintenance, or repairs. Using a centrally-manageddatabase of individual assets that are tracked using unique identifiers,operations personnel can be enabled to track where assets are, when theassets were last maintained or checked on, which assets need repairs,etc. Thus, for example, when operations personnel assign field personnelto work on or check on an asset, the operations personnel can alsoconsider what other assets are in the area or that are along the fieldpersonnel's route, and the current status of the other assets (e.g.,their maintenance schedule and history, their current operating status,etc.). As such, the operations personnel can assign the field personnelto maintain or check on other assets in the area, making more efficientuse of the field personnel's time.

In one example of vertical integration, an individual asset for anorganization may comprise a laptop computer. When the laptop computer ispurchased by the organization, a tracking unit (e.g., seal or securitytag) can be attached to the computer, and a record can be created thatassociates the tracking unit with the computer. Each time an identifierof the tracking unit is scanned (e.g., as part of an assignment of thecomputer to a user, as part of system updates/maintenance, etc.), therecord can be updated to reflect the current location and status of thecomputer. The record can then be used to track the location and custodyof the computer over time, as well as track and schedule maintenance andupdates for the computer, and eventually be used to remove the computerfrom use at the end of its life. Use of a seal on the computer canprevent tampering with the computer, such as to prevent a user fromswapping out or stealing internal computer components.

In another example, an individual asset for an organization may comprisean individual livestock, such as a horse, a cow or bull, or a sheep. Inthis example, a seal or tag (e.g., as an ear tag, an implant, etc.) canbe applied to the livestock at birth or purchase, and the seal or tagcan be used to track the livestock's movements throughout its lifetime,to track its vaccinations, to track its checkups, etc. until thelivestock is sold, slaughtered, or dies. In some embodiments, alivestock seal or tag can be enabled to be track-able in real-time, suchas through the use of GPS, NFC, radio transmissions, etc.

Code Generation and Lifecycle Management

In view of the computer architecture 100 of FIG. 1, FIGS. 2A-2Dillustrates an example process flow 200 for code generation andseal/asset lifecycle management. FIGS. 2A-2D each includes threetimelines, including an activity timeline 201, a state machine timeline202, and an ownership timeline 203. The activity timeline 201 presentsthe process of generation of identifier codes at a factory, applicationof those codes to a seal , and distribution of the seals to a warehouse,to a business, and to a worker. The state machine timeline 202 shows astatus of the generated code, as recorded at a server (e.g., themanagement service 102). The ownership timeline 203 shows an ownershipof the generated code, as recorded at the server/management service.

While the following process flow is presented in linear manner, one ofordinary skill in the art will recognize that some steps in the processflow may be performed in different orders, or in parallel. As such, theembodiments herein are not limited to the following ordering of steps.

For simplicity, FIGS. 2A-2D will be described in the context of applyingidentifiers to seals, and of grouping seals into bags, boxes, andpallets. However, identifiers may be applied to other tracking unit(e.g., to security tag), or to assets directly (without use of atracking unit), and/or groupings could be modified in any appropriatemanner. For example, some products may come with an identification code(e.g., QR Code, barcode, etc.) marked directly onto the product by thefactory.

FIG. 2A illustrates the process flow 200 at a factory. The process flow200 at the factory may be automated (i.e., by machines), may beperformed manually (i.e., by a human worker), or may be performed usingboth automated and manual elements. At time (1), one or moreidentification codes are generated at a code sequence generator. In someembodiments, the code sequence generator is at an end-user device 101,such as a factory end-user device 101 a. In other embodiments, the codesequence generator is at the server (management service 102), and itsfunctionality is made available to a factory end-user device 101 athrough an API. As indicated in timelines 202 and 203, the generatedcode(s) are indicated at the server has having been created and as beingcurrently owned by the factory.

In some embodiments, the generated codes are grouped by virtue of theformatting of the code. In other embodiments, the generated codes aregrouped by association in a database. Groups may be nested, such thereare groups and sub-groups. As mentioned previously, for example, aplurality of individual seals can be grouped into bags, and a pluralityof bags can be grouped into boxes. The boxes can be further grouped ontopallets. For example, a box may contain a large number (e.g., hundredsor thousands) of seals, and bags may have a smaller number (e.g., tensor hundreds each) of seals. Other divisions are also possible, such asbatches or trays (e.g., ten each) of seals. Thus, the code sequencegenerator can generate codes that correspond with these divisions.

In one example that involves boxes, bags, and individual seals, anidentifier for a batch (e.g., pallet, box, bag) begins with theidentifier of the first seal in the batch, followed by a specification(e.g., multipliers) of the sub-batches. For example, if the first sealidentifier is ‘000000000’, then the identifier for a box may be‘000000000.50.100’. This box identifier indicates that the box contains50 bags, and that each bag contains 100 seals. Carrying out themultiplication (i.e., 50*100), it is clear that this box contains 5,000seals, which can be inferred to include individual units ‘000000000’through ‘000004999’. The identifier for the first bag may be‘000000000.100’, indicating that the first seal in the bag is‘000000000’, and that there are 100 seals in the bag. The identifiersfor the 100 seals in the bag are therefore ‘000000000’ through‘000000099’. Within that same box, the identifier for another bag may be‘000000100.100’, indicating that the first seal in the bag is‘000000100’, and that there are 100 seals in the bag. The identifiersfor the 100 seals in the bag are thus ‘000000100’ through ‘000000199’.

One of skill in the art will recognize, in view of the disclosureherein, that use of alphanumeric unit identifiers can increase thenumber of identifiers that can be specified using a given number ofbytes. For example, a unit identifier may take an alternate alphanumericform such as ‘AAAAA0000’, AAAAB0000, AAAAC0000, etc.

As depicted in FIG. 2A, at times (2) and (3) a group code is printed.For example, a group code (e.g., ‘000000000.50.100’ for a box, or‘000000000.100’ for a bag) may be printed on a sticker or on a containerdirectly. At time (4), the sticker with the group code is placed on theappropriate container(s), such as a pallet, a box, or a bag. At time (5)the group code is scanned or otherwise entered by a worker (e.g., usinga factory end-user device 101 a). Scanning the code providesverification that the code was indeed generated, and that it wascorrectly printed and applied to a container. Once the group code isscanned, at times (6) and (7) individual unit codes are generated foreach seal, and may printed on the seals. In some embodiments, batchcodes (e.g., that logically group several seals) may also be generated.For example, a bag of 100 seals may include ten batches of ten sealseach. At time (8), any generated codes are scanned/OCR'd to verifyproper generation and printing of the codes.

FIG. 2A also indicates that at time (9) the seals are packaged intotheir respective groupings. The batch/unit codes can be scannedconcurrent with the seals being packaged, and the group codes can bescanned to signify completion of the packaging of a group. A chain ofcustody can thus be started, by recording the user (if any) who packagedthe seals. The completed packaging (and the user or machine completingthe packaging) can be logged at the server, and the seals can be markedas available (as indicated in timeline 202). At time (10), the packagedseals (e.g., the boxes or pallets of boxes) are scanned for transport(e.g., to a warehouse). Thus, the seals involved are marked at theserver as being sent, and are now owned by the transporter that isinvolved in transportation to the warehouse. In some embodiments, anorder code is generated in connection with the transportation to thewarehouse.

Subsequent to transportation from the factory, FIG. 2B illustrates theprocess flow 200 at a warehouse. At times (11) and (12), FIG. 2Billustrates that the order code (which was generated in connection withtransportation of the seals) is scanned at the warehouse (e.g., using awarehouse end-user device 101 b) in order to receive the seals in theorder. In connection with receiving the seals, the server is updated toindicate that seals are received, with ownership of the seals beingassigned to the warehouse (see timelines 202 and 203). At times (13) and(14), group codes are scanned for opening a group to transfer itssub-groups. For example, the group code for a pallet may be scanned, sothat boxes within the pallet can be transported to a business. Thus,when a group code is scanned, the immediate subgroup (e.g., boxes, whena pallet group code is scanned) is also made available for scanning. Asa group is opened, the action is recorded at the server (see timeline202). At time (15), groups of seals can then scanned to transfer fordistribution. For example, the group code of a box can be scanned fortransfer of the box to a company. This action can be recorded at theserver, and the ownership of the affected seals can be assigned to thetransporter that is involved with transportation to the business. Insome embodiments, an order code is generated in connection with thetransportation to the business.

Subsequent to transportation from the factory, FIG. 2C illustrates theprocess flow 200 at a company. At times (16) and (17), the order codethat was generated when the warehouse shipped a group of seals isscanned by a company end-user device 101 c. This action is recorded atthe server, and ownership of the affected seals by the company isrecorded (see timelines 202 and 203). Then, at times (18) and (19),groups of seals (e.g., boxes) can be opened by scanning the group code.This marks the underlying group (e.g., bags) is being available for use.The opening of a box at time (19) is recorded at the server.

Continuing at FIG. 2D, the process flow 200 for a worker is illustrated.At time (20) a first worker scans (e.g., using a worker end-user device101 d) a group code of a bag to receive and open the bag. This actioncauses the seals in the bag to be made available to the first worker,and to be assigned to the first worker (see timelines 202 and 203). Attimes (21) and (22) FIG. 2D illustrates that a second worker may scan abatch code (e.g., a group of 10 seals from the bag) to receive the batchof seals from the first worker. This re-assignment is recorded at theserver. At time (23), FIG. 2D illustrates that a worker can perform workwith respect to an asset, and scan the seal's identifier code to applythe seal to the asset. This action can be recorded at the server, whichrecords that seal as being applied to the asset. At time (24), a seal'sidentifier can be scanned to retire the seal, such as to replace theseal on the asset. Timelines 202 and 203 show that the seal's identifiercan be marked as replaced, and the seal can be assigned to the user thatscanned to seal at time (24).

One specific example of operation of FIG. 2D (process flow 200 for aworker) is now described. For example, a worker may take custody of abag or batch of seals by scanning the group code (for a bag) or thebatch code (for a batch). The worker can then perform a task withrespect to an asset (e.g., such as by installing a utility meter), andapply a seal to the asset while in the field. The worker may thendocument the work performed and/or the act of sealing that asset at adatabase or repository, such as a web or cloud-based service. Suchdocumentation may include the worker using a worker end-user device 101d to send a seal identifier for the applied seal, a photo of theinstalled utility meter along with the seal, the work order forinstalling the meter, etc. to the management service 102. The act ofinstallation and sealing is recorded at the management service 102, andthe utility meter can then be track throughout its lifecycle using themanagement service 102 and the applied seal.

In view of the foregoing discussion of FIGS. 2A-2D, one of ordinaryskill in the art will recognize that the generated code for anindividual item (e.g., seal) serves as a “harmonizing code” that can beused to track a seal and/or an asset throughout its entire lifecycle. Asmentioned earlier, a single asset may be associated with multiple“harmonizing codes,” such as one that is applied to the asset directly,and one that is associated with a tracking unit that has been applied tothe asset.

This lifecycle includes creation at a factory, transportation to awarehouse, transportation to a business, and deployment of the asset orseal by the business. During this process, the code can be used to trackthe status of the seal/assets, and custody of the seal/asset. Asdiscussed hereinafter, the code can also be used to track thegeo-location of the seal/asset, and can be used to manage variousaspects of the seal/asset—such as maintenance, repair, retirement, etc.For example, continuing the foregoing utility meter example, the sealidentifier of the seal that was applied to the utility meter can serveas a “harmonizing code” that stays with the seal (and thus the meter)for its life, and that is used to track the meter throughout its entirelifecycle until retirement.

Data States for Group and Unit Identifiers

FIG. 3 provides some example states or statuses 300 that may be appliedto a group or unit identifier (e.g., in a database at the managementservice 102). It is noted that these states are mere examples, and thatother states may be used. In particular, FIG. 3 illustrates examplestates 301 for boxes, example states 302 for bags, and example states303 for seals. Again, while FIG. 3 is presented in the context of seals,such statuses may be equally applicable to other tracking units (e.g.,security tags) or to assets directly.

As depicted in the states 301 for boxes, when a factory produces a boxof seals, with the box may be tagged as being available. After the boxis sent to a company, it is tagged as having been sent. When received atthe company, the box can be tagged as being received, opened, damaged,or lost. The states of a box can be changed a user of an end-user device101 to scanning (or manually entering) a box group identifier, orthrough a user using a web service or API of the management service 102to manage the box. Changing the status of a box may also change thestatus of each bag and/or each individual seal in the box.

As depicted in the states 302 for bags, a bag can be tagged as beingavailable, assigned to a user, or lost. Such state changes can be madethrough a user of an end-user device 101 to scanning (or manuallyentering) a bag group identifier, or through a user using a web serviceor API of the management service 102 to manage the bag. In addition, abag may be assigned to a user, by the user scanning (or manuallyentering) the bag identifier, or by through use of a web service or APIof the management service 102. Once the user receives a bag, the usermay subsequently tag the bag (and all seals therein that have notalready been used) as being damaged or lost.

As depicted in the states 303 for seals, a user may tag an availableseal as being applied or lost, such as through use of an end-user device101. Once a seal has been applied, the user may tag a seal as beinglost, damaged, replaced, or tampered with (fraud). For example, a workerperforming a status check or maintenance of an asset may observe that aseal is damaged or lost, and use an end-user device 101 to mark the sealas such. In another example, a worker who has performed maintenance mayseal the asset with a new seal and mark the new seal as a replacementseal. In another example, a worker who has observed that an asset wasmissing a seal or has an invalid seal installed thereon may install anew seal on the asset, and mark the new seal (and/or the invalid sealthat was installed on the asset) as fraud. A new seal marked as fraudmay be used to send a worker to “seal in the fraud,” and flag the assetfor subsequent maintenance or replacement. When an invalid seal has beenidentified (and marked as fraud) the record for the seal can be used toobserve workers who have interacted with the seal and events associatedwith the seal to identify the source of the fraud.

Transfer

As alluded to previously, groups (e.g., boxes, bags, batches) and/orindividual units may (in some embodiments) be transferred betweendifferent users. For example, workers in the field may transfer units(e.g., tracking units or assets) between one another. This may be usefulin the context of seals, for example, if a worker has run out of seals,but another worker has extra seals. Each re-assignment of units istracked at the management service 102, so that a complete chain ofcustody of seals is maintained. While the following transfer embodimentsare presented in the context of seals, such embodiments may be equallyapplicable to other tracking units (e.g., security tags) or to assetsdirectly.

In a first seal transfer embodiment, to transfer a seal (or group/batchof seals), one worker scans the seal identifier (or the group/batchidentifier) with an end-user device 101, and specifies another worker asthe recipient of the seal. In some embodiments, the worker receiving theseal (or group/batch) must verify/acknowledge receipt of the seal (orgroup/batch) for the transfer to be completed. Each user to which a sealor batch of seals was assigned is recorded at the management service102, so that a complete chain of custody is kept.

In a second seal transfer embodiment, the worker desiring to receive aseal (or group/batch of seals) needs only scan the seal identifier (orgroup/batch identifier) of the seal/group/batch he wishes to receive,and the seal (or group/batch) is automatically re-assigned to thatworker, with inferred authorization from the user who previously hadcustody of the seal (or group/batch). As such, a seal or group/batch ofseals may be re-assigned directly, through action of a single user,without any further prompting or verification. For example, the user whopreviously had custody of a seal may not be prompted to give up custodyof the seal. In one practical example, a warehouse manager who hascustody of seal or group of seals may be unavailable (e.g., out tolunch). During this time, another user who needs a seal (e.g., a fieldperson or manager) can scan a desired identifier for an item (e.g., apallet, a box, a bag, individual unit, etc.) to have custody of the itembe transferred “on the fly” to that user, allowing for free unrestrictedmovement of assets from user to user. During this process, entirecustody of the item is recorded at the management service 102. Forexample, a record that the warehouse manager previously had custody ofthe item is preserved, in addition to a record being kept that the newuser took custody of the item.

In some embodiments, a user cannot begin using seals in a new group orbatch until all other seals that are assigned to the user have beenaccounted for. For example, before a worker can use seals from a newbag, all other seals assigned to the worker may need to be flagged asapplied, lost, damaged, replaced, fraud, etc. Doing so discourages theworker from stealing seals for use in fraud. For example, since theworker must account for all seals that are not applied to assets (e.g.,lost or damaged) before starting on a new batch or bag of seals, theworker cannot covertly steal seals for fraudulent use. Furthermore, theworker is encouraged to retain control of seals, and to thoroughlydocument the loss of a seal, since if a lost seal is found on an assetthe worker may be suspected as tampering with the asset.

Application of a Tracking Unit to an Asset

FIG. 4 illustrates a flowchart 400 that may be used in connection withapplication of a tracking unit to an asset. For example, flowchart 400may be used as a worker applies a seal to a utility meter, as in theforegoing example discussed in connection with FIG. 2D. FIG. 4 beginswhen a worker applies a tracking unit to an asset. Applying the trackingunit can include the worker using an end-user device 101 to initiate auser action related to application of a tracking unit to an asset. Basedon the user action, the worker may be prompted for a plurality of dataitems, as shown within the data collection detail of FIG. 4. In someembodiments, the user action is scanning a tracking unit identifier.

As depicted in the data collection detail of FIG. 4 and in the contextof seals, the end-user device 101 may acquire a seal code 401. Forexample, the end-user device 101 may prompt the worker to enter a sealidentifier or scan a seal barcode to obtain the seal code 401. In someembodiments, the seal identifier was acquired as part of the initialuser action (i.e., the user scanning the seal identifier). In addition,the end-user device 101 may prompt the worker to capture a photograph ofthe seal to obtain the seal photo 404. In some embodiments, the end-userdevice 101 prompts the worker to obtain a photograph of the seal afterit has been applied to the asset, so that the photo includes aphotographic record of both the seal and the asset.

As further depicted in the data collection detail of FIG. 4, theend-user device 101 may prompt the worker to capture/enter an assetnumber 404, an asset photo 405, and/or an asset verification check 406.For example, the end-user device 101 may prompt the worker to enter anasset identifier or scan an asset barcode to obtain the asset number404. In another example, the end-user device 101 may prompt the workerto capture a photograph of the asset to obtain the asset photo 405. Theasset photo 405 may, in some embodiments, be the same photo as the sealphoto 402. In yet another example, the end-user device 101 may promptthe worker to make one or more certifications about the asset, such asto certify that the asset passes one or more tests, as part of the assetverification check 406.

As further depicted in the data collection detail of FIG. 4, theend-user device 101 may prompt the worker to capture/enter a work ordernumber 407 and/or a work order photo 408. For example, the end-userdevice 101 may prompt the worker to enter a work order identifier orscan a work order barcode to obtain the work order number 407. Inanother example, the end-user device 101 may prompt the worker tocapture a photograph of the work order to obtain the work order photo408. If the work order was delivered electronically through the end-userdevice device 101, the work order number 407 and/or the work order photo408 may be gathered automatically or omitted.

As further depicted in the data collection detail of FIG. 4, theend-user device 101 may gather one or more other types of information,such as a geo-location 403 of the end-user device 101 and user comments409.

FIG. 4 depicts that the mobile data collection detail is sent to cloudstorage. For example, the end-user device 101 may send the mobile datacollection detail to the management service 102 over the network 103. Insome embodiments, the end-user device 101 sends the items of the mobiledata collection detail as a single record. In other embodiments, theend-user device 101 sends the items of the mobile data collection detailindividually.

In some embodiments, all mobile data is sent to the management service102 in real-time. In other embodiments, some mobile data is sent to themanagement service 102 in real-time, while other data is withheld forlater sending. For example, if a user is using an end-user device 101 inthe field and has only a cellular connection, the end-user device 101may send identifiers to the management service 102 over the cellularconnection, but wait for a WiFi connection to send other data such asphotos. In some embodiments, offline modes are supported.

Mobile Device User Interfaces

Embodiments of example mobile user interfaces of an end-user device 101will now be described in connection with FIGS. 5A-5F. The followingexample mobile user interfaces represent but one example of userinterfaces that can be used on the end-user device 101.

As a preliminary matter that is not depicted, a mobile interface mayenable a user to login for use of the computer architecture 100. Forexample, a login mobile interface can prompt a user for credentials,such as a user name/e-mail address and password. Example user types thatmay be able to login can include worker (regular user), administrator,factory, manager, etc. A worker user may be a person in the fieldperforming work. An administrator or manager user may have access toadministrative and additional reporting functions. A factory worker maybe able to create/assign boxes of seals.

FIG. 5A illustrates an example dashboard, or main menu, mobileinterface, according to one or more embodiments. As depicted, dashboardinterfaces may display the user's name (e.g., John Smith) and/or theuser's role, such as regular user, administrator, or evaluator.Dashboard mobile interfaces may also provide the user with options foraccessing features provided by the computer architecture 100, such asscan 501, type 502, statistics 503, and history 504. A user can selectthe scan option 501 to initiate scanning of an identifier (e.g.,barcode) of tracking unit and/or an asset. Alternatively, the user canuse the type option 502 to manually enter an identifier. The scan/typeoptions can be used in connection with initially placing a tracking uniton an asset, in connection with checking the status of a tracking unitor asset, or in connection with doing maintenance on an asset (e.g.,attaching a replacement seal).

Other options may include access to actions that have been taken by aworker (e.g., a worker's current history), and verification of chain ofcustody. For example, a chain of custody option may present or provideconfirmation of transfer of pallets, boxes, bags, seals etc. betweenemployees.

The statistics option 503 may be used to access statistics for thecurrent user, such as the number of work requests completed, the numberof tracking unit applied, etc. The history option 504 may be used toaccess historical information, such as historical information for auser, a tracking unit, or an asset. The information made available tothe user when accessing the statistics and history options may varybased on the user's type (e.g., evaluator or administrator).

FIG. 5B illustrates an example status mobile interface, according to oneor more embodiments. The status interface may be displayed afterscanning or manually entering a tracking unit or group identifier. Asdepicted, the status interface can present the identifier 505 (e.g.,127734) and a status 506, such as the depicted available status. Otherstatuses may include lost, damaged, fraud, replaced, etc.

The status interface may also present the person responsible for thetracking unit or group of tracking units (e.g., Marcela Peixoto Alves).The status interface may also indicate a type 507 of the identifier thatwas scanned (e.g., seal, bag, box). The status interface may alsopresent options for changing status, such as the depicted apply 508,lost 509, and damaged 510 buttons.

As depicted, the status interface may also present the location of thetracking unit or group of tracking unit using a map, an address,coordinates, etc. The status interface may present the location of thetracking unit or group as the location of a mobile device the last timethe tracking unit was scanned by the mobile device, and may present anyother applicable historical information for the seal or group.

FIG. 5C illustrates some example tracking unit application mobileinterfaces, according to one or more embodiments. Such user interfacesmay be used when applying a tracking unit to an asset (e.g., a meter, asin the depicted example), and may appear after selecting the applyoption 508 in the tracking unit status mobile interface of FIG. 5B.

As depicted in the left interface, tracking unit application interfacesmay present the tracking unit identification number (i.e., 127734), andmay update the tracking unit status, so that it is shown as beingapplied. Tracking unit application interfaces may also provide a prompt511 for the identification number of the asset. Tracking unitapplication interfaces may also enable the user to provide or capturephoto(s) of the asset, the tracking unit, the tracking unit as appliedto the asset, etc. Tracking unit application interfaces may also promptthe user to enter the result (e.g., approved or disapproved) of an assettest.

As depicted in the right interface, tracking unit application interfacesmay provide a prompt for user observations/comments. Tracking unitapplication interfaces may also provide a prompt for service orderinformation, such as a work order number and/or photo. When an applyoption is selected, the tracking unit application interfaces save arecord for later submission to the management service 102, or mayactually submit the record.

FIG. 5D illustrates an example tracking unit receipt mobile interface,according to one or more embodiments. Tracking unit receipt mobileinterfaces may present the status of the tracking unit or group oftracking units (e.g., bag, box) that are being received, such as thedepicted available status. As depicted in FIG. 3, other statuses mayinclude sent, received, opened, damaged, lost, etc. Tracking unitreceipt mobile interfaces may present the range of tracking units in agrouping (e.g., the depicted 1280020-1281020), the last known locationof the tracking unit or grouping, a history of the tracking unit orgrouping, etc. Tracking unit receipt mobile interfaces may be presentedin response to a first user assigning tracking unit to a second user, orin response to a user scanning a tracking unit or group identifier toreceive the tracking unit or group of tracking units.

FIG. 5E illustrates an example history mobile interface, according toone or more embodiments. History interfaces may be presented to a userafter selecting the history option 504 from the dashboard interface ofFIG. 5A. History interfaces may list the most recent actions of theuser, such as in chronological order. For example, the depicted historyinterfaces lists boxes, bags, and tracking units according to statusessuch as sent, received, opened, available, and applied. Historyinterfaces may also categorize actions by synchronization status (e.g.,pending or done) with the management service 102. History interfaces mayprovide a synchronization option (e.g., the depicted circular arrows)for initiating a synchronization operation.

FIG. 5F illustrates an example statistics mobile interface, according toone or more embodiments. Statistics interfaces may be presented to auser after selecting the statistics option 503 from the dashboardinterface of FIG. 5. Statistics interfaces may present any statisticsthat are applicable to the user of the mobile device. For example, anevaluator (regular user) may be presented with statistics about thetracking units he or she has applied, while an administrator may bepresented with statistics about tracking units applied across multipleusers, bags, boxes, etc. As depicted, statistics interfaces may presentstatistics according to time periods, such as by day, week, or month.Statistics interfaces may provide for filtering, analytics, counts, orany other applicable functionality relative to statistical analysis andpresentation.

Web User Interfaces

Embodiments of web user interfaces presented by the management service102 will now be described in connection with FIGS. 6A-6D. The followingexample web user interfaces represent but one example of user interfacesthat can be presented by the management service 102. While the web userinterfaces that are depicted primarily present activities that haveoccurred with respect to assets and tracking units, web user interfacesmay also be used for applying tracking units to assets—much like themobile user interfaces.

Web interfaces can include a login user interface, which enables a userto login to the management service 102. A login web interface mayprovide analogous functionality to the login mobile interface describedpreviously. For example, the login web interface can prompt a user for ausername/e-mail address and password. Example user types that may beable to login can include worker (regular user), administrator, factory,manager, etc.

FIG. 6A illustrates an example control panel web interface. Controlpanel interfaces may present information about inventory items (e.g.,tracking units, bags, and boxes), as well as users. For example,inventory 601 and user 602 interface controls can enable selectionbetween display of inventory and users. The inventory items may bedivided according to type, including seals (tracking units) 603, bags604, and boxes 605. One or more data items associated with each trackingunit may be selectable to retrieve further details, to make transfers orassignments, etc.

In the embodiment depicted in FIG. 6A, the tracking unit (seals) tab 603has been selected. The control panel interface displays differenttracking units, including their type and status, the identifier or code,the responsible user, and the date/time of the last action. If the bagstab 604 is selected, the control panel may present data that isapplicable to bags, such as type and status, identifier or code,responsible user, and date/time of the last action. Selection of the boxtab 605 would result in a user interface that presents similar datarelative to boxes.

FIG. 6B illustrates an example inventory details web interface,according to one or more embodiments. Inventory details interfaces maypresent details about an inventory item (e.g., a tracking unit, a bag,or a box), including a status of the item, a type of the item, anidentification number of the item. FIG. 6B illustrates inventory detailsfor a tracking unit. As depicted, tracking unit inventory details mayinclude last scanned location of the tracking unit, a photograph of thetracking unit, a photograph of the asset to which the tracking unit isapplied, an asset number, a photograph of the work order, a work ordernumber, etc. Tracking unit inventory details may also include a historyof the tracking unit, such as the bag and box from which the trackingunit originated, a custody history of the tracking unit, etc.

FIG. 6C illustrates an inventory details web interface for a bag. Asdepicted, bag details may include bag status and identity, the lastscanned location of the bag, a photograph of the bag, and a history ofthe bag (e.g., custody history of the bag, and the box to which the bagbelongs. The inventory details interface for the bag may include atransfer option (e.g., the depicted right arrow) that can be used totransfer responsibility of the bag to another user. The inventorydetails interface for the bag may include a split option (e.g., thedouble arrows) that can be used to split a bag, and assign a portion oftracking units in the bag to another user. For example, the split optionmay enable a user to transfer tracking units having a certain numericrange to another user.

FIG. 6D illustrates an example bag splitting dialogue web interface. Asdepicted, the bag splitting dialogue displays the range of tracking unitidentifiers in the bag (e.g., 920020-911020), and enables specificationof one or more users to whom tracking units should be assigned, as wellas a range of tracking unit identifiers that are to be assigned eachuser.

Other control panel web interface for users may display detailsapplicable to users, such as name, account type, and the date/time ofthe last user action. Such interfaces may include one or more options tocreate a new user. In addition, user details web interfaces may presentthe seals, bags, and even boxes that are assigned to a user. Eachinventory item assigned to or interacted with by a user can be selectedfor additional detail/administration. User details web interfaces canalso present a history of the last actions taken by the user.

Methodologies

Embodiments will now be described in the context of computer-implementedmethods. Each of these methods is presented in view of the foregoingdescription and drawings. One of ordinary skill in the art willrecognize that the individual acts in the methods may, in someimplementations, be implemented in different orders than thosepresented, and that the methods may be varied in an appropriate mannerin view of the disclosure herein.

FIG. 7 illustrates a flow chart of an example method 700 for sealmanagement and asset assignment. As depicted, the method 700 includesacts that are performed at a server computer system (e.g., themanagement service 102) and at an end-user device (e.g., worker end-userdevice 101 d) that are configured to communicate with one another (e.g.,over network 103). Examples of mobile user interfaces that may be usedin connection with method 700 are presented in FIGS. 5A-5F.

Method 700 includes an act 701, at an end-user device, of obtaining dataitems in connection with application of a tracking unit to an asset. Act701 can comprise obtaining a plurality of data items from a user inconnection with application of a tracking unit to an asset, theplurality of data items including: a user identifier of the user whoapplied the tracking unit to the asset, a corresponding tracking unitidentifier for the tracking unit, and an asset identifier for the asset.For example a worker end user device 101 d can be used in the field by aworker in connection with the worker applying a tracking unit to anasset (e.g., a utility meter, a container, etc.). In connection withapplying the tracking unit to the asset, the worker can use the end userdevice 101 d to scan a tracking unit identifier of the tracking unit. Inresponse, the worker end user device 101 d can prompt the user to supplyidentification of the asset to which the tracking unit was applied, aphoto of the asset, etc. Examples of data that may be gathered arepresented in FIG. 4.

Method 700 also includes an act 702, at the end-user device, for sendingthe data items to the server. Act 702 can comprise sending the pluralityof data items to the server computer system. For example, aftergathering applicable data, the worker end user device 101 d can uploadany appropriate data to the management service 102, including forexample the tracking unit identifier, the asset identifier, the identityof the user, etc.

Method 700 also includes an act 703, at a server, for upon receipt ofthe data items, verifying the tracking unit identifier. Act 703 cancomprise, upon receipt of the plurality of data items from the end-userdevice, verifying that the tracking unit identifier is a valid trackingunit identifier, that the tracking unit identifier has an availablestatus, and that the tracking unit identifier is assigned to the user.For example, the management service 102 can verify that the trackingunit is valid (i.e., properly generated as per FIG. 2A), is in anavailable state, and is assigned to the user, as per FIG. 3.

Method 700 also includes an act 704, at the server, for when thetracking unit identifier is valid, associating the tracking unitidentifier with an asset identifier and a user identifier. Act 704 cancomprise, when the tracking unit identifier is verified as being valid,available, and assigned to the user, associating the tracking unitidentifier with the asset identifier and the user identifier. Forexample the management service 102 can update a database to reflectassignment of the tracking unit identifier to the asset identifier. Sucha record can comprise a custody record that is used to provideaccountability for the user with respect to the asset. Such a record canalso be used to track the asset throughout its lifecycle (e.g.,maintenance, repair, updates, retirement, etc.). Such a record can alsobe used to detect fraud with respect to the asset. For example, ifanother tracking unit is subsequently found to be on the asset, theasset can be presumed to have been tampered with.

Method 700 also includes an act 705, at a server, for when the trackingunit identifier is valid, marking the tracking unit identifier asapplied. Act 705 can comprise, when the tracking unit identifier isverified as being valid, available, and assigned to the user, markingthe tracking unit identifier as having an applied status. For examplethe management service 102 can update a record of the tracking unitidentifier to reflect an applied status (as per FIG. 3).

FIG. 8 illustrates a flow chart of an example method 800 for generatingan identification code. The method 800 may include acts that areperformed at a server computer system (e.g., the management service102), in combination with an end-user device (e.g., worker end-userdevice 101 d).

Method 800 includes an act 801 of generating a group code. Act 801 cancomprise generating a group code, the group code specifying a unitidentifier and at least one multiplier specifying a number of units thatare in the group. For example, the management service 102 or an end-userdevice 101 can generate a group code as discussed above in connectionwith FIG. 2A. For example, a group code may specify a unit identifierand a multiplier, separated by a character such as a dot, a dash, anasterisk, etc. As discussed in connection with FIG. 2A, a group code mayinclude multiple multipliers, to create sub-groups. For example, a groupidentifier for a box may specify a first multiplier for a number of bagsin the box, and a second identifier for a number of tracking units in abag.

Method 800 also includes an act 802 of receiving confirmation ofapplication of the group code. Act 802 can comprise receivingconfirmation that the group code was properly generated and applied to acontainer. For example, FIG. 2A shows that a group code is printed andplace on the container (e.g., box), and then is scanned or otherwiseread (e.g., by optical character recognition (OCR)) to verify that thegroup code was properly produced and that it was applied to thecontainer.

Method 800 also includes an act 803 of when confirmed, generating unitidentifiers. Act 803 can comprise, upon receiving confirmation that thegroup code was properly generated and applied to the container,generating a plurality of unit identifiers for the group. For example,FIG. 2A shows that once a group code has been scanned, unit codes can beproduced.

The method 800 can ensure that when group and unit codes are generatedand corresponding units are produced, that every code/unit is accountedfor during the production process. In addition, the group and unitidentifiers can be assigned to a user at their creation, therebyensuring custody of a tracking unit from the time that it is assigned avalid identifier.

FIG. 9 illustrates a flow chart of an example method 900 for managing atracking unit. The method 900 may include acts that are performed at aserver computer system (e.g., the management service 102), incombination with an end-user device (e.g., worker end-user device 101d).

Method 900 includes an act 901 of identifying a tracking unit identifierand an asset identifier. Act 901 can comprise identifying a trackingunit identifier and an asset identifier, the tracking unit identifiercomprising an identifier for a tracking unit that is currently affixedto the asset. For example, a worker using a worker end-user device 101 dmay scan a tracking unit that has been applied to an asset, such as autility box. Upon scanning the end-user device 101 d may send thetracking unit identifier to the management service 102 for verification.

Method 900 also includes an act 902 of determining that the trackingunit identifier is invalid. Act 902 can comprise determining that thetracking unit identifier is an invalid identifier with respect to theasset identifier. For example, based on receiving the scanned trackingunit identifier, the management service 102 can determine that thetracking unit is not properly associated with the asset. Such adetermination may be made because the tracking unit has previously beenreported as lost or damaged, because the tracking unit is marked asbeing available, because the tracking unit has been marked as beingassociated with a different asset, etc. Method 900 also includes an act903 of marking the tracking unit identifier as being associated withfraud. Act 903 can comprise, based on the tracking unit identifier beingan invalid identifier with respect to the asset identifier, marking thetracking unit identifier as being associated with fraud. For example,the management service can update a status of the tracking unitidentifier as fraud (see FIG. 3). The fraud status of the tracking unitcan indicate that the asset to which the tracking unit was applied mayhave been tampered with.

FIG. 10 illustrates a flow chart of an example method 1000 for trackinga chain of custody. The method 1000 may include acts that are performedat a server computer system (e.g., the management service 102), incombination with an end-user device (e.g., worker end-user device 101d).

Method 1000 also includes an act 1001 of receiving a request to takecustody of a tracking identifier. Act 1001 can comprise receiving arequest to take custody of a tracking identifier, the request specifyingthe tracking identifier and a user identifier of a user who is to takecustody of the tracking identifier. For example, a user using anend-user device 101 may scan a seal, a box, a pallet, a bag, or an assetitself to obtain a tracking identifier. The end-user device 101 can thensend the tracking identifier and a user identifier of the user using theend-user device 101 to the management service 102 as a request to changecustody, and the management service 102 can receive the request.

Method 1000 also includes an act 1002 of identifying a custody record.Act 1002 can comprise identifying a custody record of the trackingidentifier, the custody record specifying a previous chain of custodyfor the tracking identifier, the previous chain of custody indicatingthat another user already has custody of the tracking identifier. Forexample, the management service 102 can identify a custody record forthe tracking identifier that is stored at the management service 102.The custody record can include a previous chain of custody of thetracking identifier. The chain of custody may indicate that the trackingidentifier is currently assigned to another user. The chain of custodymay also include one or more other users who had previous chain ofcustody.

Method 1000 also includes an act 1003 of updating the custody recordwhile preserving chain of custody. Act 1003 can comprise updating thecustody record to indicate that the received user identifier now hascustody of the tracking identifier, while preserving the previous chainof custody of tracking identifier. For example, the management service102 can update the identified custody record to indicate the receiveduser identifier now has custody of the tracking identifier. Such anupdate may comprise appending or prepending the user identifier to alist, adding a record, creating a new object, or any other appropriatemechanism for adding a user to a chain of custody while preserving aprevious chain of custody. The management service 102 may also sendconfirmation to the end-user device 101 that user identifier is nowassociated with the tracking identifier.

When the tracking identifier is associated with a batch or group, method1000 may also include updating a chain of custody of each unit withinthe batch or group to indicate that the received user identifier now hascustody of a corresponding tracking identifier of the unit. For example,when a user takes custody of a pallet, box, or bag, the user takescustody of each sub-group and individual unit in the pallet, box, orbag.

The embodiments described herein can greatly improve the use of trackingunit (e.g., seals and security tags), and can greatly enhance assettracking and management. In particular, use of an identifier as a“harmonizing code” can enable tracking a tracking unit from its creationat a factory to its destruction or retirement, and can enable trackingan asset from application of a tracking unit to the asset, to retirementof the asset.

Embodiments of the present invention may comprise or utilize aspecial-purpose or general-purpose computer system that includescomputer hardware, such as, for example, one or more processors andsystem memory, as discussed in greater detail below. Embodiments withinthe scope of the present invention also include physical and othercomputer-readable media for carrying or storing computer-executableinstructions and/or data structures. Such computer-readable media can beany available media that can be accessed by a general-purpose orspecial-purpose computer system. Computer-readable media that storecomputer-executable instructions and/or data structures are computerstorage media. Computer-readable media that carry computer-executableinstructions and/or data structures are transmission media. Thus, by wayof example, and not limitation, embodiments of the invention cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media and transmission media.

Computer storage media are physical storage media that storecomputer-executable instructions and/or data structures. Physicalstorage media includes recordable-type storage devices, such as RAM,ROM, EEPROM, solid state drives (“SSDs”), flash memory, phase-changememory (“PCM”), optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other physical storage medium which canbe used to store program code in the form of computer-executableinstructions or data structures, and which can be accessed by ageneral-purpose or special-purpose computer system.

Transmission media can include a network and/or data links which can beused to carry program code in the form of computer-executableinstructions or data structures, and which can be accessed by ageneral-purpose or special-purpose computer system. A “network” isdefined as one or more data links that enable the transport ofelectronic data between computer systems and/or modules and/or otherelectronic devices. When information is transferred or provided over anetwork or another communications connection (either hardwired,wireless, or a combination of hardwired or wireless) to a computersystem, the computer system may view the connection as transmissionmedia. Combinations of the above should also be included within thescope of computer-readable media.

Further, upon reaching various computer system components, program codein the form of computer-executable instructions or data structures canbe transferred automatically from transmission media to computer storagemedia (or vice versa). For example, computer-executable instructions ordata structures received over a network or data link can be buffered inRAM within a network interface module (e.g., a “NIC”), and theneventually transferred to computer system RAM and/or to less volatilecomputer storage media at a computer system. Thus, it should beunderstood that computer storage media can be included in computersystem components that also (or even primarily) utilize transmissionmedia.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at one or more processors, cause ageneral-purpose computer system, special-purpose computer system, orspecial-purpose processing device to perform a certain function or groupof functions. Computer-executable instructions may be, for example,binaries, intermediate format instructions such as assembly language, oreven source code.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

1. A computing device, comprising: one or more processors; a displaydevice; one or more hardware input devices; and one or morecomputer-readable media having stored thereon computer-executableinstructions that are executable by the one or more processors to causethe computing device to perform at least the following: display, at thedisplay device, a first user interface control which, when selected,causes the computing device to obtain a machine-readable code; based onselection of the first user interface control, obtain, at the one ormore hardware input devices, a first machine-readable code that encodesa group identifier, the group identifier (i) identifying a grouping of aplurality of tracking units that includes a particular tracking unit,and (ii) being structured such that a corresponding unit identifier ofeach of the plurality of tracking units within the grouping isidentifiable based only on the group identifier; decode, at the one ormore processors, the group identifier to identify each unit identifierof each of the plurality of tracking units, by at least (i) identifyinga first portion of the group identifier that identifies a first unitidentifier of a first unit in the grouping of tracking units, and (ii)identifying a second portion of the group identifier comprising amultiplier identifying a number of the plurality of tracking units thatare within the grouping; display, at the display device, (i) theidentity of at least a subset of the plurality of tracking units thatincludes the particular tracking unit, (ii) an identity of a second userwho has custody of the particular tracking unit, and (iii) a second userinterface control which, when selected, causes the computing device toobtain custody of the plurality of tracking units on behalf of a firstuser associated with the computing device; and based on selection of thesecond user interface control, send a request to a management servicefor the first user to obtain custody of the plurality of tracking units;and wherein based on the request to the management service: themanagement service reassigns custody of the plurality of tracking unitsfrom the second user to the first user, without obtaining input from thesecond user; and another computing device associated with the seconduser updates a displayed status of at least the particular tracking unitto indicate that the first user now has custody of the particulartracking unit.
 2. The computing device of claim 1, wherein thecomputer-executable instructions are also executable by the one or moreprocessors to cause the computing device to obtain the identity of asecond user who has custody of the particular tracking unit form themanagement service.
 3. The computing device of claim 1, wherein themanagement service comprises a plurality of computing devices.
 4. Thecomputing device of claim 1, wherein reassigning custody of theplurality of tracking units comprises updating a documented chain ofcustody of plurality of tracking units.
 5. The computing device of claim4, wherein updating the documented chain of custody of plurality oftracking units comprises updating a custody record at one or morecomputing devices.
 6. The computing device of claim 5, wherein thecustody record is updated at a plurality of computing devices.
 7. Thecomputing device of claim 1, wherein the computer-executableinstructions are also executable by the one or more processors to causethe computing device to, display, at the display device, the identity ofa first user as having custody of the particular tracking unit based onthe request to the management service.
 8. A method, implemented at acomputing device that includes one or more processors, a display device,and one or more hardware input devices, the method comprising:displaying, at the display device, a first user interface control which,when selected, causes the computing device to obtain a machine-readablecode; based on selection of the first user interface control, obtaining,at the one or more hardware input devices, a first machine-readable codethat encodes a group identifier, the group identifier (i) identifying agrouping of a plurality of tracking units that includes a particulartracking unit, and (ii) being structured such that a corresponding unitidentifier of each of the plurality of tracking units within thegrouping is identifiable based only on the group identifier; decoding,at the one or more processors, the group identifier to identify eachunit identifier of each of the plurality of tracking units, by at least(i) identifying a first portion of the group identifier that identifiesa first unit identifier of a first unit in the grouping of trackingunits, and (ii) identifying a second portion of the group identifiercomprising a multiplier identifying a number of the plurality oftracking units that are within the grouping; displaying, at the displaydevice, (i) the identity of at least a subset of the plurality oftracking units that includes the particular tracking unit, (ii) anidentity of a second user who has custody of the particular trackingunit, and (iii) a second user interface control which, when selected,causes the computing device to obtain custody of the plurality oftracking units on behalf of a first user associated with the computingdevice; and based on selection of the second user interface control,sending a request to a management service for the first user to obtaincustody of the plurality of tracking units; and wherein based on therequest to the management service: the management service reassignscustody of the plurality of tracking units from the second user to thefirst user, without obtaining input from the second user; and anothercomputing device associated with the second user updates a displayedstatus of at least the particular tracking unit to indicate that thefirst user now has custody of the particular tracking unit.
 9. Themethod of claim 8, further comprising obtaining the identity of a seconduser who has custody of the particular tracking unit form the managementservice.
 10. The method of claim 8, wherein the management servicecomprises a plurality of computing devices.
 11. The method of claim 10,wherein reassigning custody of the plurality of tracking units comprisesupdating a documented chain of custody of plurality of tracking units.12. The method of claim 11, wherein updating the documented chain ofcustody of plurality of tracking units comprises updating a custodyrecord at one or more computing devices.
 13. The method of claim 12,wherein the custody record is updated at a plurality of computingdevices.
 14. The method of claim 8, wherein the computer-executableinstructions are also executable by the one or more processors to causethe computing device to, display, at the display device, the identity ofa first user as having custody of the particular tracking unit based onthe request to the management service.
 15. A computer program productcomprising one or more hardware storage devices having stored thereoncomputer-executable instructions that are executable by one or moreprocessors to cause a computing device to perform at least thefollowing: display, at a display device, a first user interface controlwhich, when selected, causes the computing device to obtain amachine-readable code; based on selection of the first user interfacecontrol, obtain, at one or more hardware input devices, a firstmachine-readable code that encodes a group identifier, the groupidentifier (i) identifying a grouping of a plurality of tracking unitsthat includes a particular tracking unit, and (ii) being structured suchthat a corresponding unit identifier of each of the plurality oftracking units within the grouping is identifiable based only on thegroup identifier; decode, at the one or more processors, the groupidentifier to identify each unit identifier of each of the plurality oftracking units, by at least (i) identifying a first portion of the groupidentifier that identifies a first unit identifier of a first unit inthe grouping of tracking units, and (ii) identifying a second portion ofthe group identifier comprising a multiplier identifying a number of theplurality of tracking units that are within the grouping; display, atthe display device, (i) the identity of at least a subset of theplurality of tracking units that includes the particular tracking unit,(ii) an identity of a second user who has custody of the particulartracking unit, and (iii) a second user interface control which, whenselected, causes the computing device to obtain custody of the pluralityof tracking units on behalf of a first user associated with thecomputing device; and based on selection of the second user interfacecontrol, send a request to a management service for the first user toobtain custody of the plurality of tracking units; and wherein based onthe request to the management service: the management service reassignscustody of the plurality of tracking units from the second user to thefirst user, without obtaining input from the second user; and anothercomputing device associated with the second user updates a displayedstatus of at least the particular tracking unit to indicate that thefirst user now has custody of the particular tracking unit.
 16. Thecomputer program product of claim 15, wherein the management servicecomprises a plurality of computing devices.
 17. The computer programproduct of claim 14, wherein reassigning custody of the plurality oftracking units comprises updating a documented chain of custody ofplurality of tracking units.
 18. The computer program product of claim17, wherein updating the documented chain of custody of plurality oftracking units comprises updating a custody record at one or morecomputing devices.
 19. The computer program product of claim 18, whereinthe custody record is updated at a plurality of computing devices. 20.The computer program product of claim 15, wherein thecomputer-executable instructions are also executable by the one or moreprocessors to cause the computing device to, display, at the displaydevice, the identity of a first user as having custody of the particulartracking unit based on the request to the management service.